import { User } from '../models/User.js';
import { log } from '../utils/logger.js';
import dotenv from 'dotenv';

// 加载环境变量
dotenv.config();

// 创建默认管理员账号
async function createDefaultAdmin() {
  try {
    const defaultUsername = 'admin';
    const defaultPassword = 'admin123';
    
    // 检查是否已存在
    const existing = User.findByUsername(defaultUsername);
    if (existing) {
      log.system('管理员账号已存在，跳过创建');
      console.log('=======================================');
      console.log('管理员账号已存在');
      console.log('用户名: admin');
      console.log('=======================================');
      return;
    }
    
    // 创建管理员
    const userId = await User.create(defaultUsername, defaultPassword);
    
    log.system('默认管理员账号创建成功', { userId, username: defaultUsername });
    
    console.log('');
    console.log('=======================================');
    console.log('✅ 默认管理员账号创建成功！');
    console.log('=======================================');
    console.log('');
    console.log('📝 登录信息:');
    console.log('   用户名: admin');
    console.log('   密码: admin123');
    console.log('');
    console.log('⚠️  重要提示:');
    console.log('   1. 请立即登录后修改密码');
    console.log('   2. 不要在生产环境使用默认密码');
    console.log('   3. 建议创建新账号后删除此默认账号');
    console.log('');
    console.log('=======================================');
    console.log('');
    
    process.exit(0);
  } catch (error) {
    log.error('创建管理员账号失败', { error: error.message, stack: error.stack });
    console.error('❌ 创建管理员账号失败:', error.message);
    process.exit(1);
  }
}

createDefaultAdmin();

